#include <ultra64.h>
#include "bss.h"
#include "data.h"
#include "types.h"

u8 g_SkelJoypadJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
};

struct skeleton g_SkelJoypad = {
	SKEL_JOYPAD, ARRAYCOUNT(g_SkelJoypadJoints), g_SkelJoypadJoints,
};

u8 g_Skel21Joints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
	{ 35, 35 },
	{ 36, 36 },
	{ 37, 37 },
	{ 38, 38 },
	{ 39, 39 },
	{ 40, 40 },
	{ 41, 41 },
	{ 42, 42 },
	{ 43, 43 },
	{ 44, 44 },
	{ 45, 45 },
	{ 46, 46 },
};

struct skeleton g_Skel21 = {
	SKEL_21, ARRAYCOUNT(g_Skel21Joints), g_Skel21Joints,
};

u8 g_SkelLaptopGunJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
	{ 35, 35 },
	{ 36, 36 },
	{ 37, 37 },
	{ 38, 38 },
	{ 39, 39 },
	{ 40, 40 },
	{ 41, 41 },
	{ 42, 42 },
	{ 43, 43 },
	{ 44, 44 },
	{ 45, 45 },
};

struct skeleton g_SkelLaptopGun = {
	SKEL_LAPTOPGUN, ARRAYCOUNT(g_SkelLaptopGunJoints), g_SkelLaptopGunJoints,
};

u8 g_SkelK7AvengerJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
	{ 35, 35 },
	{ 36, 36 },
	{ 37, 37 },
	{ 38, 38 },
	{ 39, 39 },
	{ 40, 40 },
};

struct skeleton g_SkelK7Avenger = {
	SKEL_K7AVENGER, ARRAYCOUNT(g_SkelK7AvengerJoints), g_SkelK7AvengerJoints,
};

u8 g_SkelFalcon2Joints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
	{ 35, 35 },
	{ 36, 36 },
	{ 37, 37 },
	{ 38, 38 },
	{ 39, 39 },
	{ 40, 40 },
	{ 41, 41 },
	{ 42, 42 },
};

struct skeleton g_SkelFalcon2 = {
	SKEL_FALCON2, ARRAYCOUNT(g_SkelFalcon2Joints), g_SkelFalcon2Joints,
};

u8 g_SkelKnifeJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
};

struct skeleton g_SkelKnife = {
	SKEL_KNIFE, ARRAYCOUNT(g_SkelKnifeJoints), g_SkelKnifeJoints,
};

u8 g_SkelCmp150Joints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
	{ 35, 35 },
	{ 36, 36 },
	{ 37, 37 },
	{ 38, 38 },
	{ 39, 39 },
};

struct skeleton g_SkelCmp150 = {
	SKEL_CMP150, ARRAYCOUNT(g_SkelCmp150Joints), g_SkelCmp150Joints,
};

u8 g_SkelDragonJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
	{ 35, 35 },
	{ 36, 36 },
	{ 37, 37 },
	{ 38, 38 },
	{ 39, 39 },
	{ 40, 40 },
};

struct skeleton g_SkelDragon = {
	SKEL_DRAGON, ARRAYCOUNT(g_SkelDragonJoints), g_SkelDragonJoints,
};

u8 g_SkelSuperDragonJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
	{ 35, 35 },
	{ 36, 36 },
	{ 37, 37 },
	{ 38, 38 },
	{ 39, 39 },
	{ 40, 40 },
	{ 41, 41 },
	{ 42, 42 },
};

struct skeleton g_SkelSuperDragon = {
	SKEL_SUPERDRAGON, ARRAYCOUNT(g_SkelSuperDragonJoints), g_SkelSuperDragonJoints,
};

u8 g_SkelRocketJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
	{ 35, 35 },
	{ 36, 36 },
	{ 37, 37 },
};

struct skeleton g_SkelRocket = {
	SKEL_ROCKET, ARRAYCOUNT(g_SkelRocketJoints), g_SkelRocketJoints,
};

u8 g_Skel4AJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
};

struct skeleton g_Skel4A = {
	SKEL_4A, ARRAYCOUNT(g_Skel4AJoints), g_Skel4AJoints,
};

u8 g_SkelShotgunJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
	{ 35, 35 },
	{ 36, 36 },
	{ 37, 37 },
	{ 38, 38 },
};

struct skeleton g_SkelShotgun = {
	SKEL_SHOTGUN, ARRAYCOUNT(g_SkelShotgunJoints), g_SkelShotgunJoints,
};

u8 g_SkelFarsightJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
	{ 35, 35 },
	{ 36, 36 },
	{ 37, 37 },
	{ 38, 38 },
	{ 39, 39 },
	{ 40, 40 },
	{ 41, 41 },
	{ 42, 42 },
	{ 43, 43 },
	{ 44, 44 },
	{ 45, 45 },
	{ 46, 46 },
	{ 47, 47 },
};

struct skeleton g_SkelFarsight = {
	SKEL_FARSIGHT, ARRAYCOUNT(g_SkelFarsightJoints), g_SkelFarsightJoints,
};

u8 g_Skel4DJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
};

struct skeleton g_Skel4D = {
	SKEL_4D, ARRAYCOUNT(g_Skel4DJoints), g_Skel4DJoints,
};

u8 g_SkelReaperJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
	{ 35, 35 },
	{ 36, 36 },
	{ 37, 37 },
	{ 38, 38 },
	{ 39, 39 },
	{ 40, 40 },
	{ 41, 41 },
	{ 42, 42 },
	{ 43, 43 },
	{ 44, 44 },
	{ 45, 45 },
	{ 46, 46 },
	{ 47, 47 },
	{ 48, 48 },
	{ 49, 49 },
};

struct skeleton g_SkelReaper = {
	SKEL_REAPER, ARRAYCOUNT(g_SkelReaperJoints), g_SkelReaperJoints,
};

u8 g_SkelMaulerJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
	{ 35, 35 },
	{ 36, 36 },
	{ 37, 37 },
	{ 38, 38 },
};

struct skeleton g_SkelMauler = {
	SKEL_MAULER, ARRAYCOUNT(g_SkelMaulerJoints), g_SkelMaulerJoints,
};

u8 g_SkelDevastatorJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
	{ 35, 35 },
	{ 36, 36 },
	{ 37, 37 },
	{ 38, 38 },
	{ 39, 39 },
};

struct skeleton g_SkelDevastator = {
	SKEL_DEVASTATOR, ARRAYCOUNT(g_SkelDevastatorJoints), g_SkelDevastatorJoints,
};

u8 g_SkelPistolJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
	{ 35, 35 },
	{ 36, 36 },
	{ 37, 37 },
	{ 38, 38 },
	{ 39, 39 },
};

struct skeleton g_SkelPistol = {
	SKEL_PISTOL, ARRAYCOUNT(g_SkelPistolJoints), g_SkelPistolJoints,
};

u8 g_SkelAr34Joints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
	{ 35, 35 },
	{ 36, 36 },
	{ 37, 37 },
	{ 38, 38 },
	{ 39, 39 },
};

struct skeleton g_SkelAr34 = {
	SKEL_AR34, ARRAYCOUNT(g_SkelAr34Joints), g_SkelAr34Joints,
};

u8 g_SkelMagnumJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
	{ 35, 35 },
	{ 36, 36 },
	{ 37, 37 },
	{ 38, 38 },
	{ 39, 39 },
	{ 40, 40 },
	{ 41, 41 },
	{ 42, 42 },
	{ 43, 43 },
	{ 44, 44 },
	{ 45, 45 },
	{ 46, 46 },
};

struct skeleton g_SkelMagnum = {
	SKEL_MAGNUM, ARRAYCOUNT(g_SkelMagnumJoints), g_SkelMagnumJoints,
};

u8 g_SkelSlayerRocketJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
	{ 35, 35 },
	{ 36, 36 },
};

struct skeleton g_SkelSlayerRocket = {
	SKEL_SLAYERROCKET, ARRAYCOUNT(g_SkelSlayerRocketJoints), g_SkelSlayerRocketJoints,
};

u8 g_SkelCycloneJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
	{ 35, 35 },
	{ 36, 36 },
	{ 37, 37 },
};

struct skeleton g_SkelCyclone = {
	SKEL_CYCLONE, ARRAYCOUNT(g_SkelCycloneJoints), g_SkelCycloneJoints,
};

u8 g_SkelSniperRifleJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
	{ 35, 35 },
	{ 36, 36 },
	{ 37, 37 },
	{ 38, 38 },
	{ 39, 39 },
	{ 40, 40 },
	{ 41, 41 },
};

struct skeleton g_SkelSniperRifle = {
	SKEL_SNIPERRIFLE, ARRAYCOUNT(g_SkelSniperRifleJoints), g_SkelSniperRifleJoints,
};

u8 g_SkelTranquilizerJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
	{ 35, 35 },
	{ 36, 36 },
	{ 37, 37 },
	{ 38, 38 },
};

struct skeleton g_SkelTranquilizer = {
	SKEL_TRANQUILIZER, ARRAYCOUNT(g_SkelTranquilizerJoints), g_SkelTranquilizerJoints,
};

u8 g_SkelCrossbowJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
	{ 35, 35 },
	{ 36, 36 },
	{ 37, 37 },
	{ 38, 38 },
	{ 39, 39 },
	{ 40, 40 },
	{ 41, 41 },
	{ 42, 42 },
	{ 43, 43 },
	{ 44, 44 },
	{ 45, 45 },
};

struct skeleton g_SkelCrossbow = {
	SKEL_CROSSBOW, ARRAYCOUNT(g_SkelCrossbowJoints), g_SkelCrossbowJoints,
};

u8 g_SkelTimedProxyMineJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
};

struct skeleton g_SkelTimedProxyMine = {
	SKEL_TIMEDPROXYMINE, ARRAYCOUNT(g_SkelTimedProxyMineJoints), g_SkelTimedProxyMineJoints,
};

u8 g_SkelPhoenixJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
	{ 35, 35 },
	{ 36, 36 },
	{ 37, 37 },
	{ 38, 38 },
	{ 39, 39 },
};

struct skeleton g_SkelPhoenix = {
	SKEL_PHOENIX, ARRAYCOUNT(g_SkelPhoenixJoints), g_SkelPhoenixJoints,
};

u8 g_SkelCallistoJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
	{ 35, 35 },
	{ 36, 36 },
	{ 37, 37 },
	{ 38, 38 },
	{ 39, 39 },
	{ 40, 40 },
	{ 41, 41 },
	{ 42, 42 },
};

struct skeleton g_SkelCallisto = {
	SKEL_CALLISTO, ARRAYCOUNT(g_SkelCallistoJoints), g_SkelCallistoJoints,
};

u8 g_SkelRcp120Joints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
	{ 35, 35 },
	{ 36, 36 },
	{ 37, 37 },
	{ 38, 38 },
	{ 39, 39 },
	{ 40, 40 },
};

struct skeleton g_SkelRcp120 = {
	SKEL_RCP120, ARRAYCOUNT(g_SkelRcp120Joints), g_SkelRcp120Joints,
};

u8 g_SkelHudPieceJoints[][2] = {
	{ 0, 0 },
	{ 1, 1 },
	{ 2, 2 },
	{ 3, 3 },
	{ 4, 4 },
	{ 5, 5 },
	{ 6, 6 },
};

struct skeleton g_SkelHudPiece = {
	SKEL_HUDPIECE, ARRAYCOUNT(g_SkelHudPieceJoints), g_SkelHudPieceJoints,
};

u8 g_SkelHandJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
};

struct skeleton g_SkelHand = {
	SKEL_HAND, ARRAYCOUNT(g_SkelHandJoints), g_SkelHandJoints,
};

u8 g_SkelLaserJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
};

struct skeleton g_SkelLaser = {
	SKEL_LASER, ARRAYCOUNT(g_SkelLaserJoints), g_SkelLaserJoints,
};

u8 g_SkelGrenadeJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
};

struct skeleton g_SkelGrenade = {
	SKEL_GRENADE, ARRAYCOUNT(g_SkelGrenadeJoints), g_SkelGrenadeJoints,
};

u8 g_SkelEcmMineJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
};

struct skeleton g_SkelEcmMine = {
	SKEL_ECMMINE, ARRAYCOUNT(g_SkelEcmMineJoints), g_SkelEcmMineJoints,
};

u8 g_SkelUplinkJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
};

struct skeleton g_SkelUplink = {
	SKEL_UPLINK, ARRAYCOUNT(g_SkelUplinkJoints), g_SkelUplinkJoints,
};

u8 g_SkelRemoteMineJoints[][2] = {
	{ 0,  0  },
	{ 1,  1  },
	{ 2,  2  },
	{ 3,  3  },
	{ 4,  4  },
	{ 5,  5  },
	{ 6,  6  },
	{ 7,  7  },
	{ 8,  8  },
	{ 9,  9  },
	{ 10, 10 },
	{ 11, 11 },
	{ 12, 12 },
	{ 13, 13 },
	{ 14, 14 },
	{ 15, 15 },
	{ 16, 16 },
	{ 17, 17 },
	{ 18, 18 },
	{ 19, 19 },
	{ 20, 20 },
	{ 21, 21 },
	{ 22, 22 },
	{ 23, 23 },
	{ 24, 24 },
	{ 25, 25 },
	{ 26, 26 },
	{ 27, 27 },
	{ 28, 28 },
	{ 29, 29 },
	{ 30, 30 },
	{ 31, 31 },
	{ 32, 32 },
	{ 33, 33 },
	{ 34, 34 },
	{ 35, 35 },
	{ 36, 36 },
};

struct skeleton g_SkelRemoteMine = {
	SKEL_REMOTEMINE, ARRAYCOUNT(g_SkelRemoteMineJoints), g_SkelRemoteMineJoints,
};
